# 1) Definir variable objetivo TARGET = 'PRECIO M2' # 2) Asegurar que la target sea float (recomendado) df_modelar[TARGET] = df_modelar[TARGET].astype(float) # 3) Identificar columnas numéricas (todas excepto la target) num_cols = [ c for c in df_modelar.select_dtypes(include=['int64','float64']).columns if c != TARGET ] # 4) Construir X, y X = df_modelar[num_cols] y = df_modelar[TARGET] # 5) Split temporal 80–20 (dataset ya ordenado cronológicamente) split_index = int(len(X) * 0.8) X_train, X_test = X.iloc[:split_index], X.iloc[split_index:] y_train, y_test = y.iloc[:split_index], y.iloc[split_index:] print(f"Tamaño train: {X_train.shape}, Tamaño test: {X_test.shape}")